---
title: "FreeBSD/ppc Project"
sidenav: developers
---

include::shared/releases.adoc[]
include::shared/en/urls.adoc[]

= FreeBSD/ppc Project

== Introduction

The FreeBSD/ppc project pages contain information about the FreeBSD port to the PowerPC(R) architecture. As with the port itself, these pages are still a work in progress.

== Table Of Contents

* <<status,Status>>
* <<news,Latest News>>
* <<faq,Port FAQs>>
* <<hardware,Supported Hardware>>
* <<list,FreeBSD/ppc mailing list>>
* <<issues,Known Issues>>
* <<doc,Documentation, White Papers, Utilities>>
* <<links,Other links of interest>>


[[status]]
== Status

The FreeBSD/ppc port is still a link:{committers-guide}#archs[Tier 2] platform. That means it is not being fully supported by our security officer, release engineers and toolchain maintainers. However, it is supported by portmgr (package building).

The most up-to-date information about supported hardware is currently being maintained https://wiki.freebsd.org/powerpc[on the wiki].

'''''

[[news]]
== Latest News

* *13 Apr, 2021*: FreeBSD 13.0 was released introducing new target powerpc64le and LLVM as main compiler. Supports disk, network and video controller drivers for modern POWER machines from Raptor Computing (Blackbird and Talos II) and IBM (LC922 and IC922). https://www.freebsd.org/releases/13.0R/relnotes/[Release Notes]
* *22 Sep, 2020*: new target powerpc64le (64-bit little endian) was introduced targetting POWER8 and newer processors.
* *29 Dec, 2019*: Release 13.0 for powerpc, powerpcspe and powerpc64 targets will replace GCC4 by LLVM compiler and powerpc64 will use the modern OpenPower 64-Bit ELF V2 ABI Specification.
* *05 May, 2019*: FreeBSD has been tested and seems to work on the https://wiki.freebsd.org/powerpc/Raptor/Blackbird[Raptor Blackbird].

'''''

[[faq]]
== Frequently Asked Questions

. <<install,How can I install FreeBSD/ppc>>
. <<ports,How to use ports on FreeBSD/ppc?>>
. <<ppcppc64,Should I install powerpc, powerpcspe, powerpc64 or powerpc64le?>>
. <<contact,Who should I contact?>>

[[install]]
=== How can I install FreeBSD/ppc?

ISO images of FreeBSD {rel130-current} are available for download, for details on how to obtain these see the link:../../releases/{rel130-current}R/announce/[release announcement.]
FreeBSD 12.x is not being maintained regularly and its use is *strongly discouraged*. ABI changes makes 12.x binary-incompatible with 13.x and later.

[[ports]]
=== How to use ports on FreeBSD/ppc?

Refer to the Handbook: link:{handbook}#ports-using[use the Ports Collection].

[[ppcppc64]]
=== Should I install powerpc, powerpcspe, powerpc64 or powerpc64le?

* 64-bit

** *Users of 64-bit bi-endian CPUs POWER8 and POWER9*: can choose between FreeBSD/powerpc64 and FreeBSD/powerpc64le (big endian and little endian, respectively). The FreeBSD/powerpc64 (big endian) also supports running 32-bit binaries nativelly like other 64-bit platforms.
** *Users of 64-bit big endian CPUs Apple G5 and POWER7*: FreeBSD/powerpc64 should be installed. Apple G5 users also have a choice of using the 32-bit FreeBSD/powerpc but FreeBSD/powerpc64 provides ZFS support and the ability of use more than 2 GB of RAM.

* 32-bit
** *Users of 32-bit CPUs Apple G3/G4*: should use FreeBSD/powerpc
** *Users of 32-bit CPUs Freescale MPC85XX (Routerboard RB800) and NXP QorIQ P1022 (AmigaOne A1222)*: should use FreeBSD/powerpcspe


[[contact]]
=== Who should I contact?

The <<list,FreeBSD/ppc mailing list>> is the main resource.

'''''

[[hardware]]
== Supported Hardware

The most up-to-date information about supported hardware is currently being maintained https://wiki.freebsd.org/powerpc[on the wiki].

The FreeBSD/ppc port should run on any New-World Apple machine (any Apple machine with a built-in USB port), as well as the Sony Playstation 3.
FreeBSD/ppc port should also run on QEMU. Details can be found on https://wiki.freebsd.org/powerpc/QEMU[powerpc/QEMU wiki].

People have previously reported that FreeBSD runs on the following machines:

[.tblbasic]
[cols=",,,,,",options="header",]
|===
|Manufacturer |Model |Submitter (optional links) | Release | Arch | Notes
|A-EON |AmigaONE A1222 | mailto:jhibbits@FreeBSD.org[Justin Hibbits] | FreeBSD 13.0 | powerpcspe | 
|A-EON |AmigaONE X5000 | mailto:jhibbits@FreeBSD.org[Justin Hibbits] | FreeBSD 13.0 | powerpc64 | 
|Apple |iMac G3 350 MHz |mailto:diskiller@diskiller.net[Martin Minkus] | | | Rage 128VR 
|Apple |iMac G3 DV Special Edition |mailto:webmaster@machowto.com[David S. Besade] (https://people.FreeBSD.org/~flz/local/dmesg.ppc[dmesg]) | | | None
|Apple |iMac G3 Revision B |mailto:grehan@FreeBSD.org[Peter Grehan] | | | Rage 3D Pro 215GP, accel disabled
|Apple |eMac 700 MHz |mailto:grehan@FreeBSD.org[Peter Grehan] | | | Nvidia GeForce2 MX
|Apple |Mac Mini G4 1.4 GHz |mailto:arved@FreeBSD.org[Tilman Linneweh] (https://people.FreeBSD.org/~arved/stuff/minimac[dmesg]) | | | None
|Apple |Powerbook G4 1.33 GHz |mailto:grehan@FreeBSD.org[Peter Grehan] | | | Nvidia GeForce G5200
|Apple |Aluminium Powerbook G4 1.5 GHz |mailto:toa@pop.agri.ch[Andreas Tobler] | | | None
|Apple |PowerMac G5 | |FreeBSD 8.0  | |
|Apple |iMac G5 | |FreeBSD 8.0 | |
|Apple |Xserve G5 | |FreeBSD 8.1 | |
|Apple |PowerMac G5 (late 2005) | |FreeBSD 8.1 | |
|IBM | Power System S812L / 8247-21L (POWER8) |mailto:luporl@FreeBSD.org[Leandro Lupori] | FreeBSD 13.0 | powerpc64, powerpc64le |
|IBM | Power System LC922 (POWER9) |mailto:alfredo@freebsd.org[Alfredo Dal'Ava Júnior] | FreeBSD 13.0 | powerpc64, powerpc64le |
|IBM | Power System IC922 (POWER9) |mailto:alfredo@freebsd.org[Alfredo Dal'Ava Júnior] | FreeBSD 13.0 | powerpc64, powerpc64le | verified with 1.5 TB of RAM
|MikroTik | Routerboard RB800 | mailto:jhibbits@FreeBSD.org[Justin Hibbits] | FreeBSD 13.0 | powerpcspe |
|Raptor CS | Blackbird Secure Desktop (POWER9)|mailto:alfredo@freebsd.org[Alfredo Dal'Ava Júnior] | FreeBSD 13.0 | powerpc64, powerpc64le | Firmware v2.00, onboard HDMI
|Raptor CS | Talos II Desktop Development System (POWER9)|mailto:luporl@FreeBSD.org[Leandro Lupori] | FreeBSD 13.0 | powerpc64, powerpc64le | Firmware v2.00, onboard VGA 
|Raptor CS | Talos II 2U Rack Mount Server (POWER9)|mailto:andre.silva@eldorado.org.br[Andre Silva] | FreeBSD 13.0 | powerpc64, powerpc64le |Firmware v2.00
|===

'''''

[[list]]
== FreeBSD/ppc mailing list

To subscribe to this list, send an email to `<freebsd-ppc+subscribe@FreeBSD.org>` or visit the https://lists.FreeBSD.org/subscription/freebsd-ppc[mlmmj interface].

'''''

[[issues]]
== Known Issues

* Raptor CS Blackbird and Talos II: recent firmware versions don't report the onboard video framebuffer memory address on the device tree anymore. The workaround is append the content below to the kernel arguments during boot or set it permanently in /boot/etc/kboot.conf:
:
+
....
hw.ofwfb.physaddr=0x000600c280000000 
....
Note: FreeBSD 13.1, yet to be released, detects the memory address automatically using an alternative method
+

* IBM POWER8 and POWER9: As of 2021-11-30 the firmware of IBM POWER9 and some IBM POWER8 machines contain a version of kexec-lite with a https://github.com/antonblanchard/kexec-lite/pull/9[regression] that computes FreeBSD kernel entry point erroneously. Workaround: on petitboot console download http://drop.rtk0.net/kexec and use it manually to load the kernel instead. Thanks mailto:bdragon@freebsd.org[Brandon Bergren] for making the fixed binary available.


* On New-World Apples, there is a known bug in the boot-loader, that prevents you from loading an alternate kernel, so testing your kernel is a bit risky. When booting the loader from the Open Firmware prompt, give it a partition which is either non-existent, doesn't have a kernel to load, or isn't a UFS partition:
+
....
0 > boot hd:loader hd:0
....
+
At this point, you can set currdev and manually load a kernel:
+
....
OK set currdev="hd":14
OK load /boot/kernel/kernel.save
....

'''''

[[doc]]
== Documentation, White Papers, Utilities

* http://www.freescale.com/files/product/doc/MPCFPE32B.pdf[PowerPC 32-bit chip documentation]
* http://www.firmworks.com/QuickRef.html[Open Firmware Quick Reference]
* https://developer.apple.com/legacy/library/technotes/tn/tn1061.html["TN1061: Fundamentals of Open Firmware, Part 1 - The User Interface"]
* https://developer.apple.com/legacy/library/technotes/tn/tn1062.html["TN1062: Fundamentals of Open Firmware, Part 2 - The Device Tree"]
* http://developer.apple.com/legacy/mac/library/navigation/[Apple hardware developer docs]
* http://web.archive.org/web/20080514111646/http://developer.apple.com/technotes/tn/tn2004.html["TN2004: Debugging Open Firmware Using Telnet"]
* http://web.archive.org/web/20080509173539/http://developer.apple.com/technotes/tn/tn2023.html["TN2023: Open Firmware Ethernet Debugging II - Telnet Downloading"]
* https://developer.apple.com/legacy/library/technotes/tn/tn2001.html["TN2001: Running Files from a Hard Drive in Open Firmware"]
* https://openpowerfoundation.org/?resource_lib=64-bit-elf-v2-abi-specification-power-architecture["64-Bit ELF V2 ABI Specification"]

[[links]]
== Other Links of Interest

* https://wiki.freebsd.org/powerpc[FreeBSD/ppc wiki page]
* https://lists.freebsd.org/pipermail/freebsd-ppc/2005-January/000814.html[Garance A. Drosehn's description about FreeBSD on the Mac Mini]
* http://www.NetBSD.org/Ports/macppc/[NetBSD/macppc]
* http://www.OpenBSD.org/macppc.html[OpenBSD/macppc]
